package com.thread;

public class JoinThread extends Thread {

    public JoinThread(String name) {
        super(name);
    }

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            // 当线程类集成Thread时 直接使用this即可获取当前线程
            // Thread 对象的 getName() 返回当前线程的名字
            // 因此可以直接调用 getName()方法返回当前线程的名字
            System.out.println(this.getName() + " " + i);
        }
    }

    public static void main(String[] args) throws InterruptedException {
        new JoinThread("新线程").start();
        for (int i = 0; i < 100; i++) {
            if (i == 20) {
                JoinThread jt = new JoinThread("被join的线程");
                jt.start();
                // main 线程调用了jt线程的join()方法，main线程必须等jt执行结束才会乡下执行
                jt.join();
            }
            System.out.println(Thread.currentThread().getName() + " " + i);
        }
    }

}
